﻿此扩展并非完全是“easyui-datagrid”扩展，因为需要一个后台方法配合完成。
<br />
        实现过程：
<br /><br />
        1、<b>解析 easyui-datagrid 中的冻结列、常规列；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程主要为了解决“复杂表头（即标题列存在合并单元格）”的问题，
        将可能不规则（含合并）的标题列，根据 column 对象中的 colspan 和 rowspan 解析成规则（不含合并）的标题列。
        同时，解析过程中将过滤掉“checkbox列、hidden列、无title的列”。
<br /><br />

        2、<b>当导出当前页数据时，解析 easyui-datagrid 中的当前页数据；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程中，根据各 columns 的 formatter 函数对 rows 进行处理，以保证对 formatter 的支持。<br />
            <b>当导出所有数据时，将 datagrid-options 中的 url 属性值传递至后台；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程中，将不会解析 datagrid 的 rows，并且 formatter 也将无法起作用。
<br /><br />

        3、<b>将解析完成后的列集合、数据集合，序列化之后作为参数传入后台；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程中，先在前端将“列结果”和“数据结果”序列化为 json 字符串格式，然后模拟表单提交至后台。
<br /><br />

        4、<b>后台先对列集合、数据集合进行反序列化处理，获得强类型数据集（含列和数据2个集合），重组为一个数据集；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程中，后台获取 json 字符串再反序列化，获得强类型数据集合（如.NET中的DataTable）。如果 url 传递至后台，将利用 httpClient 执行 url 获取远程数据。然后重组列集合、数据集合，合并成一个数据集合（将列信息作为整个数据集合中的头几行处理）。
        另外，还有个重要的处理：“列集合”中包含了 easyui-datagrid 的 columns 的 colspan 和 rowspan 信息，以此为依据，解析出“合并规则集合”。
<br /><br />

        5、<b>利用 NPOI 将上述数据集导出至 excel 文件；</b><br />
        &nbsp;&nbsp;&nbsp;&nbsp;此过程中，根据第4步获得的“完整数据集”和“合并规则集”利用NPOI组件，写入 excel 文件并获取数据流以供下载。

<br /><br />
<div style="color:red;font-weight:bold;">
    其中，第1、2、3步的解析过程，已封装为通用方法，第4、5步的后台处理过程，也已封装成通用方法。<br />
    本扩展就是基于这2个通用方法。<br />
    使用本扩展，在进行“将 easyui-datagrid 以所见即所得的方式导出到 excel 文件”时，只需调用“exportData（扩展方法）”即可完成功能，无需写额外处理的代码。
</div>
